-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reorder blocks in vue SFCs #26874
Reorder blocks in vue SFCs #26874
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should certainly start adding a .git-blame-ignore-revs
and assigning this PR to it (once it is merged).
@@ -106,85 +183,6 @@ | |||
</div> | |||
</div> | |||
</template> | |||
|
|||
<script> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now I'm confused.
How did the diff algorithm suddenly manage to move the <script>
instead of the <template>
block?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe this move detection is based on number of lines and it moves the one with less lines?
I do not see there is a rule for this.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm fine with both |
As I said, I find this order more logical because
It does seem the Vue authors agree with me at least, the docs and https://play.vuejs.org both show this order. |
I do not have such feeling because Vue SFC is not the same as React/JSX. React uses
See the comment above, they also agree with tempate - script - style
Update: why the "play.vuejs.org" shows But we are still using Personally I prefer to follow the majority (template - script(nosetup) - style) at the moment, until there are other best practices, while I won't block it. Or use modern Vue 3 (script(setup) - template - style) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe it's a good start for refactoring legacy <script>
to modern <script setup>
Yes, Composition API is the modern way of writing vue components and to me it very much looks like a react hooks component. Composition API seems to prefer the script > template > style order as well. It seems similar to the Hooks vs. Class components in React, no one writes class components any more today in React. |
* giteaofficial/main: [skip ci] Updated licenses and gitignores Update documents to fix some links (go-gitea#26885) clarify aspects of the dump command (go-gitea#26887) Relocate the `RSS user feed` button (go-gitea#26882) Use Go 1.21 and update dependencies (go-gitea#26878) Update docs about attachment path (go-gitea#26883) Refactor "shortsha" (go-gitea#26877) Fix wrong review requested number (go-gitea#26784) Refactor `og:description` to limit the max length (go-gitea#26876) Reorder blocks in vue SFCs (go-gitea#26874) Make it posible to customize nav text color via css var (go-gitea#26807) Enable djlint H008 and fix issues (go-gitea#26869) Improve opengraph previews (go-gitea#26851) Add more descriptive error on forgot password page (go-gitea#26848) Allow users with write permissions for issues to add attachments with API (go-gitea#26837) Move licenses.txt to /assets directory (go-gitea#26866) # Conflicts: # templates/base/footer_content.tmpl
The recommended order for SFC blocks is script -> template -> style, which we were violating because template and script were swapped. I do find script first also easier to read because the imports are on top, letting me immideatly see a component's dependencies.
This is a pure cut-paste refactor with some removal of some empty lines.